First 10 steps inside an unknown repository — layout, test config, import name, module map. Run before diagnosing.
Resources
1Install
npx skillscat add gittensor-model-hub/spark-hermes/repo-orientation Install via the SkillsCat registry.
SKILL.md
Repo orientation ritual (10 steps, ~6 tool calls)
Do these in order and keep the answers in one short mental note.
- List the top level.
search_fileswithtarget: files,pattern: *,path: /testbed— or oneterminalls /testbed. ReadREADME.rst/README.mdtitle lines only (first ~20 lines). - Find the packaging metadata. Read
pyproject.toml,setup.py, orsetup.cfg— get the
package import name (thename=field or the directory with__init__.py) and the Python version. - Map the source tree.
search_files,target: files,pattern: *.py,path: /testbed/<package>
to see module names. Module names are the vocabulary of the bug. - Locate the tests. The test directory (
tests/usually) and its config:pytest.ini,tox.ini,setup.cfg[tool:pytest], orpyproject.toml[tool.pytest.ini_options].
Notetestpaths,addopts, and anyconftest.pyfixtures that matter (parametrization over
data files is common). Do not modify any of these files. - Check the import works.
terminal:python -c "import <package>; print(<package>.__version__ if hasattr(<package>, '__version__') else 'ok')".
If the import itself fails, that failure is your first symptom. - Find the issue's symbols. Extract every class, function, method, and module name from the
issue text, thensearch_files(target: content,file_glob: *.py) each. You now have the
files that matter. Usually 1–3. - Read the issue once more with the file list in hand: which module, which operation, what
breaks, what is the expected behavior. One sentence. - Note the era of the code. If the issue mentions
DeprecationWarnings or old APIs, the bug
may be a migration miss; check for a newer sibling implementation of the same operation. - Plan the verification. Which existing test files exercise the suspect module
(search_filespattern: <module>under the test dir)? Name them now; you will run them later. - Write your one-line diagnosis hypothesis, even if vague: "the bug is probably in
<module>.<function>because<reason>". Then go localize precisely.
Keep every step cheap. If a step takes more than two tool calls, skip ahead — steps 6–7 matter most.
If the repository matches a well-known open-source family (SQL tooling, document generators,
CAN-bus CLIs, syntax highlighters), view the codebases reference of this skill first — it has
family-specific layouts, smoke commands, and the mutation patterns typical of each. If the repo
matches nothing here, the 10 steps above are the whole method.