SuperAPI AI Directory

atlas-crew-tasks

Security & auditing

View repository

Updated 10-16 01:37

About this skill

Atlas Crew Task Tracking

Work for these repos lives in GitHub Issues on Projects v2 boards, not backlog.md. (A repo's backlog/ directory is a frozen archive of completed pre-migration work — read-only.)

The two boards

Board Repos URL
#8 Atlas Crew Security (shared) Apparatus, Chimera, Crucible, Synapse, Bridge https://github.com/orgs/atlas-crew/projects/8
#9 Facet (standalone) Facet https://github.com/orgs/atlas-crew/projects/9

Both are org-owned by atlas-crew. Always pass --owner atlas-crew.

Classification model (three orthogonal axes)

Keep these separate — do not encode type or area as a label.

  • Type → GitHub Issue Type (org-owned, shared by every repo): Feature, Bug, Task, Chore (refactor/tech-debt/maintenance), Spike (time-boxed investigation).
  • Area → an Area single-select project field. Facet #9 only so far (Identity, Pipeline, Prep, Letters, Research, Build/Resume, Debrief, AI/Proxy, UI/Design System, Persistence, Testing/Infra, Docs, Cross-cutting). Board #8 has no Area field yet.
  • Concern → labels: accessibility, security, ux, cross-cutting, testing, documentation, playwright, plus GitHub/dependabot conventions.

Cross-repo grouping is the Initiative single-select on board #8 (e.g. "Platform Hardening", "Vuln Content") — use it for milestones that span ACS repos. Within a single repo, use native GitHub milestones.

Status differs per board:

  • #9 Facet: Backlog → Todo → In Progress → Blocked → Done.
  • #8 ACS: Todo → In Progress → Done (not yet refined).

Filing a task

# 1. create the issue (type can be set at creation via REST; see gotcha below)
gh issue create --repo atlas-crew/Facet --title "..." --body "..." --label ux

# 2. add it to the board
gh project item-add 9 --owner atlas-crew --url <issue-url>

# 3. set Type (see gotcha), then set project fields (Priority/Area/Status)

Sequencing — what to work on next

Execution order is not a board field. It is derived from native issue dependencies (blocked-by) + sub-issues, reconstructed into waves by gh seq:

gh seq --repo atlas-crew/Facet --order-by Priority      # single repo
gh seq --project 8 --owner atlas-crew --order-by Priority # whole ACS board

The GitHub UI cannot render topological order; gh seq is the canonical "what can I start now" view. Set Status to Blocked on issues waiting in the dependency graph (Facet #9).

Mechanical gotchas (the parts that waste time if rediscovered)

Setting an Issue Type — gh issue edit has NO --type flag. Use the REST issues endpoint, which takes the type name directly:

gh api -X PATCH /repos/atlas-crew/Facet/issues/13 -f type=Feature

Creating a new org Issue Type needs the admin:org scope:

gh auth refresh -h github.com -s admin:org
gh api -X POST /orgs/atlas-crew/issue-types -f name=Chore -F is_enabled=true \
  -f color=gray -f description="..."

Setting a project single-select field (Priority/Area/Status) needs three IDs — project, field, option — and the item's id. Look them up; never hardcode (they drift):

# field + option ids:
gh project field-list 9 --owner atlas-crew --format json
# item ids (maps issue number -> item id):
gh project item-list 9 --owner atlas-crew --format json
# then:
gh api graphql -f query='mutation{updateProjectV2ItemFieldValue(input:{
  projectId:"<PID>", itemId:"<ITEM>", fieldId:"<FIELD>",
  value:{singleSelectOptionId:"<OPTION>"}}){projectV2Item{id}}}'

Editing single-select options (e.g. adding a Status value) — preserve existing option IDs. ProjectV2SingleSelectFieldOptionInput accepts id; re-send existing options with their id and append new ones, or you detach every item's current assignment.

Views cannot be created via API — there is no createProjectV2View mutation. View setup is manual in the board UI.

Reference

Each repo's board conventions and view configs: docs/development/project-board.md (Facet has one; mirror it per repo as the ACS board gains fields).