project-management
Skill2 starsChanged 32 days agoMITView on GitHub
Agent-only procedure for Firstmate project management. Use before adding, creating, removing, or initializing a project. Cloning or registering a project is add intake and uses the same trigger. Owns project add, create, clone, remove, initialization, registry, delivery-mode, autonomy, and outward-consent decisions.
24 other projects use a version of this, 1 of them edited.
Adopted by
Most recently taken up by
- bookchaowalit/platform-agent-skillstheir own version, first seen Nov 8, 2026
- fx/skillstheir own version, first seen Nov 8, 2026
- danieleteti/delphimvcframeworktheir own version, first seen Nov 2, 2026
- ldicarlo1/agent-skillstheir own version, first seen Nov 1, 2026
- Dev-KAIDO/agent-skillstheir own version, first seen Nov 1, 2026
- KMaruthi2002/universal-llm-skillstheir own version, first seen Oct 25, 2026
Other versions24 projects use a version of this.
Word for word · 0
None found.
Edited · 1
- kunchenguid/firstmate★ 8.7k83% same
Wrote their own version · 23
- dotnet/msbuild★ 5.6ksame name
- danieleteti/delphimvcframework★ 1.4ksame name
- vivy-yi/xiaohongshu-skills★ 455same name
- typv/nest-turbo-starter★ 224same name
- vanillagreencom/kendex★ 76same name
- CheehooLabs/SpureeSkills★ 18same name
- superuser-pal/awesome-second-brain★ 14same name
- peterbamuhigire/proposal-skills★ 8same name
- fx/skills★ 4same name
- Dev-KAIDO/agent-skills★ 2same name
13 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository32 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- afkSkill
- agent-skill-trigger-indexSkill
- ahoySkill
- ask-user-authoritySkill
- away-quiet-supervisionSkill
- bearingsSkill
- bootstrap-diagnosticsSkill
- captain-hold-lifecycleSkill
- control-firstmateSkill
- decision-hold-lifecycleSkill
- diagnostic-reasoningSkill
- firstmate-codexappSkill
- firstmate-coding-guidelinesSkill
- firstmate-orcaSkill
- fmx-respondSkill
- harness-adaptersSkill
- operational-home-layoutSkill
- process-event-sourcesSkill
- quietSkill
- quota-array-dispatchSkill
- scout-completionSkill
- secondmate-provisioningSkill
- session-start-recoverySkill
- ship-landingSkill
- stowSkill
- stuck-crewmate-recoverySkill
- updatefirstmateSkill
- validation-supervisionSkill
- verify-firstmateSkill
- stowSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
19 rules. 0 are common, 13 are distinctive, and 6 are very specific to this project.
0
Common
Most of the 22 edited versions we read keep these.
13
Distinctive
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 15
Use this procedure before adding, creating, removing, or initializing a project.
- Very specific: line 23
Use the registry format and parser contract owned by the header of bin/fm-project-mode.sh.
- Distinctive: line 24
Keep each registry description useful for identifying the project, but keep delivery posture, captain-private state, and detailed project …
- Distinctive: line 25
Do not turn the registry into project documentation.
- Very specific: line 27
Before adding, cloning, creating, or registering any project in the main home, inspect the authoritative data/secondmates.md routing table …
- Distinctive: line 30
If the owning second mate cannot accept the route, report that concrete blocker or obtain an explicit captain redirection rather than …
- Distinctive: line 33
Keep a newly added clone and its registry entry consistent, and roll back only artifacts created by the incomplete operation when a later …
- Distinctive: line 34
Do not overwrite or repurpose an existing path.
- Distinctive: line 53
Default it off for every project and every posture, and enable it only on the captain's explicit instruction.
- Very specific: line 59
Never register the binding from detection alone, and never re-derive it later from the clone.
- Very specific: line 75
Before making that remote change, propose the repository name, owner or organization, visibility, and delivery posture, defaulting …
- Very specific: line 76
Use gh-axi for the approved GitHub operation and consult its current help rather than relying on remembered flags.
- Distinctive: line 77
After remote creation succeeds, clone it locally, add the registry entry, and initialize it according to its delivery posture.
- Very specific: line 84
Run no-mistakes initialization only for no-mistakes and no-mistakes-prod-only projects:
- Distinctive: line 91
Do not create a commit merely because initialization ran.
- Distinctive: line 92
If doctor reports an environment, authentication, or daemon problem, resolve that blocker before dispatching work and never restart the …
- Distinctive: line 98
If any dependency or unlanded work exists, stop and report it before changing anything.
- Distinctive: line 99
Never issue a raw removal command from Firstmate.
- Distinctive: line 101
When a clone has already been removed through an approved removal, or the registry is provably stale because no clone exists, remove its …
“Common” is measured: kept by at least 6 in 10 of the 22 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
project-management
Use this procedure before adding, creating, removing, or initializing a project.
Cloning or registering a project is add intake and uses the same trigger.
This skill is the single owner of Firstmate's project-management procedure.
It does not replace secondmate-provisioning, which owns project clones inside persistent secondmate homes.
Preconditions and registry
Projects live flat under projects/, and data/projects.md is the private fleet registry.
Use the registry format and parser contract owned by the header of bin/fm-project-mode.sh.
Keep each registry description useful for identifying the project, but keep delivery posture, captain-private state, and detailed project knowledge in their existing designated homes.
Do not turn the registry into project documentation.
Before adding, cloning, creating, or registering any project in the main home, inspect the authoritative data/secondmates.md routing table and judge every existing natural-language scope: against the proposed project or domain.
Apply AGENTS.md section 7's authoritative secondmate routing rules; if an existing scope owns that domain, route the new-project operation or work there instead of creating or registering a duplicate main-home clone.
Absence from the main data/projects.md registry is never evidence that no second mate owns the domain.
If the owning second mate cannot accept the route, report that concrete blocker or obtain an explicit captain redirection rather than silently duplicating the project in the main home.
Resolve the project name, destination, delivery posture, and autonomy posture before changing local or remote state. Keep a newly added clone and its registry entry consistent, and roll back only artifacts created by the incomplete operation when a later initialization step fails and that rollback is safe. Do not overwrite or repurpose an existing path.
Delivery posture
The registry records the project's standing delivery posture and optional ship-branch prefix, which are the captain's defaults rather than any task's answer.
AGENTS.md section 7 owns how each task's concrete mode, yolo, and branch prefix are resolved at intake and passed explicitly to the brief, the spawn, and any promotion.
Choose that posture when adding or creating the project:
no-mistakesruns the full validation pipeline before a PR.direct-PRpushes and opens a PR without the no-mistakes pipeline.local-onlyhas no required remote or PR and lands only through the approved local fast-forward path.no-mistakes-prod-onlyis a conditional policy rather than one flat mode: genuinely internal-only tooling, automation, contributor or operator process, and release or submission work shipsdirect-PR, while product-facing, mixed, and uncertain work shipsno-mistakes.
no-mistakes-prod-only is the default for a newly added or created remote-backed project when the captain specifies nothing, and a project with no remote defaults to local-only.
State that resolved default while confirming the source, local name, and posture instead of asking the captain to choose from scratch, and record a flat mode instead whenever they ask for one.
Existing registry entries keep the meaning they already have and are never migrated or reinterpreted, so a legacy entry with no bracket stays no-mistakes.
Registering a conditional policy is a one-time choice and never requires classifying any change; the per-task surface classification happens at each task's intake, and internal-only is never inferred from file location or project name.
The optional +yolo posture changes merge authority only and does not change the delivery mode.
Default it off for every project and every posture, and enable it only on the captain's explicit instruction.
AGENTS.md section 7 owns the merge-authority contract.
The optional forge= token records which forge the project's remote actually is; its one value is forge=gerrit.
It is orthogonal to the mode and to +yolo, so it is never derived from either, and it is never inferred at use time from a remote name, host, port, or push target.
At add or create intake, run bin/fm-forge-detect.sh projects/<name> once the clone exists and propose its answer alongside the posture; the captain's confirmation is what binds it, and the registry token is the durable record of that confirmation.
Never register the binding from detection alone, and never re-derive it later from the clone.
A forge composes with no-mistakes, direct-PR, and no-mistakes-prod-only, and the registry refuses it on local-only, which publishes nothing; a Gerrit-hosted project kept local registers local-only with no forge token.
yolo is inactive on a forge=gerrit project, so never propose +yolo alongside it.
bin/fm-project-mode.sh's header owns the binding and bin/fm-dod-lib.sh owns what it changes for a worker.
Add or clone an existing project
Confirm the source URL, local project name, delivery posture, and autonomy posture, stating the resolved default for each rather than asking the captain to invent one.
Clone into projects/<name> and add the registry entry only after the destination is known to be unused.
A no-mistakes or no-mistakes-prod-only project must have an origin remote and must complete the initialization procedure below, because a conditional policy's product-facing work runs the pipeline while its internal-only work still takes the direct PR.
A direct-PR project needs an origin remote but skips no-mistakes initialization.
A local-only project may have no remote and skips no-mistakes initialization.
Create a project
Creating a GitHub repository is outward-facing.
Before making that remote change, propose the repository name, owner or organization, visibility, and delivery posture, defaulting visibility to private and the posture to no-mistakes-prod-only, then obtain the captain's explicit consent for those exact values; a stated default never replaces that consent.
Use gh-axi for the approved GitHub operation and consult its current help rather than relying on remembered flags.
After remote creation succeeds, clone it locally, add the registry entry, and initialize it according to its delivery posture.
For a purely local-only project, create a local Git repository under its unused projects/<name> path, add the registry entry, and make no GitHub call.
The captain's request to create that local project authorizes this local initialization, but it does not authorize an unmentioned remote repository.
Initialize
Run no-mistakes initialization only for no-mistakes and no-mistakes-prod-only projects:
cd projects/<name> && no-mistakes init && no-mistakes doctorInitialization configures the local gate and does not vendor a no-mistakes skill into the project. Do not create a commit merely because initialization ran. If doctor reports an environment, authentication, or daemon problem, resolve that blocker before dispatching work and never restart the shared daemon from a project operation.
Remove
Project removal is destructive. First obtain the captain's explicit removal decision, then inspect the current digest and authoritative repositories for in-flight or queued work, registered secondmate clones, linked worktrees, dirty files, unpushed commits, and any other unlanded work. If any dependency or unlanded work exists, stop and report it before changing anything. Never issue a raw removal command from Firstmate. Once that preflight confirms none of the above and the captain's approval is concrete, AGENTS.md hard rule 1's captain-approved project operation exception authorizes firstmate to remove the clone directly and update its registry entry to match. When a clone has already been removed through an approved removal, or the registry is provably stale because no clone exists, remove its registry line so navigation matches reality.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

